[新機能]Snowflakeでプレビュー機能の有効化・無効化を制御できるシステム関数がリリースされました

[新機能]Snowflakeでプレビュー機能の有効化・無効化を制御できるシステム関数がリリースされました

Clock Icon2024.11.15

さがらです。

Snowflakeの新機能として、プレビュー機能の有効化・無効化を制御できるシステム関数がリリースされました。

https://docs.snowflake.com/en/release-notes/2024/other/2024-11-14-manage-preview

早速試してみたので、本記事でその内容をまとめてみます。

試してみた

今回試すシステム関数は全てACCOUNTADMINでないと実行できないため、ご注意ください。

プレビュー機能の無効化

対象のアカウントで全てのプレビュー機能を無効化するには、SYSTEM$DISABLE_PREVIEW_ACCESS関数を使います。

https://docs.snowflake.com/en/sql-reference/functions/system_disable_preview_access

use role accountadmin;
select SYSTEM$DISABLE_PREVIEW_ACCESS();

2024-11-15_07h08_30

この状態で、プレビュー機能であるリネージ機能CREATE OR ALTERコマンドを試してみます。

リネージ機能は、通常通り見ることができました。(Snowsight上の機能は制御できないということですかね…?)

2024-11-15_07h14_56

CREATE OR ALTERコマンドは、下記のようにエラーとなりました。

2024-11-15_07h16_48

プレビュー機能の有効化

対象のアカウントで全てのプレビュー機能を有効化するには、SYSTEM$ENABLE_PREVIEW_ACCESS()関数を使います。

https://docs.snowflake.com/en/sql-reference/functions/system_enable_preview_access

use role accountadmin;
select SYSTEM$ENABLE_PREVIEW_ACCESS();

2024-11-15_07h18_31

この状態で、先程エラーとなったCREATE OR ALTERコマンドを実行すると、無事に成功しました。ちゃんと無効化・有効化の制御ができたことがわかりますね。

2024-11-15_07h19_20

プレビュー機能が有効化・無効化どちらの設定がされているかの確認

プレビュー機能が有効化・無効化、どちらの設定がされているかの確認をするには、SYSTEM$GET_PREVIEW_ACCESS_STATUS()関数を使います。

https://docs.snowflake.com/en/sql-reference/functions/system_get_preview_access_status

use role accountadmin;
select SYSTEM$GET_PREVIEW_ACCESS_STATUS();

下図は有効化されている場合の結果となります。

2024-11-15_07h22_58

最後に

Snowflakeの新機能として、プレビュー機能の有効化・無効化を制御できるシステム関数がリリースされたので早速試してみました。

私の検証範囲ではSnowsight上のプレビュー機能は無効化できませんでしたが、SQLコマンドは無効化出来ることが確認できました。
とはいっても、Snowsight上のプレビュー機能はpreviewと横に書いてありますし、大きく問題にはならないと思っています。また、未検証のため推測になってしまいますが、Snowsightを介してプレビューのSQLコマンドを叩く機能が出たとしても無効化出来るのでは…と考えています。

プレビュー機能を実運用環境に適用させたくない場合には、ぜひ活用してみてください!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.